package com.ray.mapper;
/**
 * 财务模块中的入库结算
* <p>Title: WarehouseInSumMoneyMapper</p>  
* <p>Description: </p>  
* @author 李斌  
* @date 2018年5月23日
 */

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.ray.bean.ReceiptPaymentRecordBean;
import com.ray.bean.WarehouseInOutDetailBean;
import com.ray.bean.WarehouseInSumMoneyBean;
import com.ray.pojo.MyUser;
 
public interface WarehouseInSumMoneyMapper {
	/**
	 * 获取入库结算信息数据
	* @date 2018年5月23日 下午5:08:21 
	* @author 李斌
	* @return List<WarehouseInSumMoneyBean> 
	* @throws
	 */
	public List<WarehouseInSumMoneyBean> getWarehouseInSumMoneyDetail(Map<String,Object> map);
	public int getWarehouseInSumMoneyDetailCount(Map<String, Object> map);
	
	/**
	 * 获取出库结算信息数据
	* @date 2018年5月23日 下午5:08:39 
	* @author 李斌
	* @return int 
	* @throws
	 */
	public List<WarehouseInSumMoneyBean> getWarehouseOutBalanceData(Map<String,Object> map);
	public int getWarehouseOutBalanceDataCount(Map<String, Object> map);
	
	
	/**
	 * 修改入库结算状态(是否结算)
	* @date 2018年5月25日 上午9:11:29 
	* @author 李斌
	* @return void 
	* @throws
	 */
	public int setIsBalanceByWarehouseInSumId(Map<String, Object> map);
	
	/**
	 * 获取入库结算金额汇总(订单采购入库)
	* @date 2018年5月31日 上午9:41:55 
	* @author 李斌
	* @return Double 
	* @throws
	 */
	public Map getSumMoneyByWarehouseSumOrder(Map<String, Object> map);

	/**
	 * 获取公司制单仓库制单人
	 * @param map
	 * @return
	 */
	public List<MyUser> getWarehouseUserList(Map<String, Object> map);
	/**
	 * 获取出库结算总额
	 * @param map
	 * @return
	 */
	public Map getWarehouseOutBalanceSumMoney(Map<String, Object> map);
	/**
	 * 获取公司收付款方式
	 * @param map
	 * @return
	 */
	public List<String> getPaymentModeList(Map<String, Object> map);
	/**
	 * 保存公司收付款记录
	 * @param map
	 * @return
	 */
	public int saveReceiptPaymentRecord(Map map);
	/**
	 * inOutId 出入库id
	 * price 金额
	 * 更新出入库已收付金额
	 * @param map
	 * @return
	 */
	public int updateReceiptPaymentPrice(Map map);
	/**
	 * id
	 * 通过id获取出入库记录
	 * @param map
	 * @return
	 */
	public WarehouseInSumMoneyBean getInOutRecordById(Map<String, Object> map);
	
	/**
	 * 通过出入库id获取
	 * @param inOutId
	 * @return
	 */
	public List<ReceiptPaymentRecordBean> getReceiptPaymentRecordByInOutId(@Param("inOutId")String  inOutId,@Param("status")String status);
    /**
     * 获取收付款经手人
     * @param map
     * @return
     */
	public List<MyUser> getReceiptPaymentRecordUser(Map<String, Object> map);
	/**
	 * 获取收付款记录
	 * @param map
	 * @return
	 */
	public List<ReceiptPaymentRecordBean> getReceiptPaymentRecord(Map<String, Object> map);
	public int getReceiptPaymentRecordCount(Map<String, Object> map);
	
	/**
	 * 获取收付款总额
	 * @param map
	 * @return
	 */
	public Map getReceiptPaymentRecordSum(Map<String, Object> map);
	
	/**
	 * 审核收付款记录
	 * @param map
	 * @return
	 */
	public int approvalReceiptPaymentRecord(Map<String, Object> map);
	/**
	 * 删除收付款记录
	 * @param map
	 * @return
	 */
	public int deleteReceiptPaymentRecord(Map<String, Object> map);
	/**
	 * 修改收付款记录
	 * @param map
	 * @return
	 */
	public int updateReceiptPaymentRecord(Map<String, Object> map);
	
	/**
	 * 获取收付款已审核和未审核数量
	 * @param map
	 * @return
	 */
	public List<Map> getOneWarehousePayMentDetail(Map map);
	
	/**
	 * 获取成品仓总金额
	 * @param paramMap
	 * @return
	 */
	public Double getFinishPrice(Map paramMap);
	/**
	 * 获取员工领走与订单无关的物料
	 * @param paramMap
	 * @return
	 */
	public Double getPersonReceivePrice(Map paramMap);
	/**
	 * 更新外协收付款金额
	 * @param map
	 * @return
	 */
	public int updatePutOutReceiptPaymentPrice(Map map);
	/**
	 * 外协结算
	 * @param map
	 * @return
	 */
	public int setPutOutIsBalanceByWarehouseInSumId(Map<String, Object> map);
	
	/**
	 * 获取应付款汇总
	 * @param map
	 * @return
	 */
	public List<Map> getAccountPayableSum(Map<String, Object> map);
	
	/**
	 * 获取出库财务汇总
	 * @param map
	 * @return
	 */
	public List<Map> getWarehouseOutBalanceSum(Map<String, Object> map);
	
}
